1. Field of the Invention
This invention relates to methods of enhancing system performance, and more particularly, to a method of enhancing system performance applicable to a computer system capable of executing a snapshot process for performing snapshots repeatedly.
2. Description of Related Art
One of the most important operations to be executed by a computer system administrator is to make a system backup of data with system parameters such that important data stored in the system can be kept intact and protected from inadvertent loss due to computer crashes, breakdowns, or inappropriate operations. Accordingly, the most effective way is to duplicate a data backup of system parameters from a computer system to the medium of data a storage device so as to save the data outside the computer system (such as an magnetic tape, a disc, or a memory unit) by making a system backup, or to configure an integrated back-up memory unit built in the computer system, thereby enabling the computer system to restore the original data thereof using the system backup in case any destructive problems occur to the computer system. Furthermore, critical system data can also be transmitted to computer systems at different locations or a storage space in a network server.
Among the system duplicating methods that are widely adopted by computer system administrators or users is the snapshot function installed in computer systems, which makes a record of system parameter settings at one or more times when a computer system is operating normally, so as to allow such settings to be rapidly restored in the event that the computer system is invaded by a virus or directed to a malicious web page while surfing the net, thereby maintaining normal functions of the computer system.
The system duplicating method using the snapshot technique is implemented by establishing a snapshot mechanism so that when an application program is initially installed, the important data will first be copied in a snapshot process. In addition, the system will update the block map thereof that has been altered so as to correspond to the changes made to the data and to indicate the location of the image data in a snapshot area.
The foregoing system duplicating method has several main advantages: firstly, it takes only seconds to duplicate system backups of large volumes, and also each system backup is a complete Full File System Backup which can be read or duplicated to a magnetic tape directly; secondly, it allows a system administrator to make dynamic adjustments (enlarge or reduce the size) in the preserved space of the snapshot backups without causing the loss of the snapshot system backup; moreover, it allows a system administrator to make deletion of any snapshot backups at any time without losing the existing snapshot backups; also, a system administrator can freely set the time cycles for performing processes of snapshots at any time according to the requirements. The data-updating process of the system duplicating method will be described later in full detail with respect to the accompanying drawings and descriptions thereof.
When a user starts the snapshot mechanism in a computer system to proceed a snapshot process, as shown in FIG. 1A, the computer system will first establish an index table to identify the system backup data that are to be duplicated by the snapshot process, as shown in FIG. 1B, and each time a user makes changes to the system data 11, the computer system proceeds to make a system backup corresponding to a data block of the index table 10 (as indicated by an arrow in FIG. 1B) according to the change made in the last snapshot process, thereby making a system backup to correspond to any changes made in the system data 11 for users' subsequent processing.
However, in the case that a user of the computer system has executed the snapshot processes, as shown in FIG. 2A, over and over, the computer system still establishes a first index table 12 to identify the system backup data that are to be duplicated by the snapshot process. Next, as shown in FIG. 2B, when a user makes changes to the system data 13, the computer system proceeds to make a system backup corresponding to a data block of the first index table 12 (as indicated by an arrow in FIG. 2B), and, at the same time, as shown in FIG. 2C, when a user starts the snapshot mechanism in a computer system the second time, the computer system will once again establish a second index table 14 to identify the system backup data that is to be duplicated by the snapshot process. Subsequently, as shown in FIG. 2D, when a user makes changes to the system data 13, the computer system proceeds to make a system backup corresponding to the data blocks of the first index table 12 and the second index table 14 (as indicated by an arrow in FIG. 2D). Also, as shown in FIG. 2E, when a user again starts the snapshot mechanism of a computer system, the computer system will establish a third index table 15 to identify the system backup data that is to be duplicated by the snapshot process. Moreover, as shown in FIG. 2F, when a user makes changes to the system data 13, the computer system proceeds to make a system backup corresponding to the data blocks in the first index table 12, the second index table 14, and the third index table 15 (as indicated by the arrows in FIG. 2F). Similarly, once a user makes changes to the system data 13, the computer system proceeds to update all of the data having undergone the earlier snapshot processes, as shown in FIG. 2G.
As such, each time a user starts the snapshot process to make any changes to the system data, the computer system is programmed to make a system backup corresponding to the data block in the index table, thereby inadvertently wasting the resources of the computer system and seriously affecting the system performance and operation as a result, possibly leading to a computer breakdown or crash caused by the insufficient memory.
Therefore, improving on the drawbacks of the prior art that system performance is affected to a great extent due to multiple snapshot processing is a critical issue to resolve.